package edu.gduf.service;


import edu.gduf.domain.Associations;
import edu.gduf.domain.ResultInfo;
import edu.gduf.domain.User;
import java.net.URISyntaxException;


/**
 * @author kgy
 * 用户接口
 */
public interface UserService {

    ResultInfo register(User user); // 用于用户注册

    /**
     * 通过学号和密码获取用户的信息
     * @param xh
     * @param pwd
     * @return
     * @throws URISyntaxException
     */
    User getStudentInfo(String xh,String pwd) throws URISyntaxException;

    /**
     * 用于用户登陆
     * @param user
     * @return
     */
    ResultInfo login(User user); // 用户登陆

    /**
     * 通过用户名获取用户的所有信息
     * @param username
     * @return
     */
    User findUserByUserName(String username);

    /**
     * 查询用户名是否已经存在
     * @param username
     * @return
     */
    String checkUserName(String username);

    /**
     * 查询学号是否已经存在
     * @param xh
     * @return
     */
    String checkXh(String xh);

    /**
     * 通过用户名查询出组织的信息
     * @param uid
     * @return
     */
    Associations findAssociationByUid(Integer uid);

    /**
     * 通过uid查询用户
     * @param uid
     * @return
     */
    User findUserByUid(Integer uid);

    /**
     * 通过uid返回昵称
     * @param uid
     * @return
     */
    String findNickNameByUid(Integer uid);

    /**
     * 更新用户（限定）
     * @param user
     * @return
     */
    Integer updateUser(User user);

    /**
     * 更新用户（不限定）
     * @param user
     * @return
     */
    Integer updateUserAll(User user);

    /**
     * 更新用户头像
     * @param user
     * @return
     */
    ResultInfo updatePhoto(User user);

    /**
     * 对用户点赞
     * @param uid
     * @param friendid
     * @return
     */
    Integer like(Integer uid,Integer friendid);

}
